Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
In many cases, software applications are designed to interact with other software applications or other computer systems. For example, a client may interact with a web service using a web browser. The underlying data for the web service may be provided by a database server. The database server may be relied on by the user to provide web service data at any day or time. As such, performing database system updates without large amounts of downtime may be problematic.